本文主要针对 Vue源码小白以及web端的Vue,有要喷的大侠,请轻喷 '-'
先找到罪恶的源头 -- Vue 的入口
入口在打包配置的中可以去寻觅,在这里就不废话,直接进主题,目录Bingo:
src/core/index.js => src/core/instance/index.js
src/core/index.js 中主要干了几件事,就是定义一些常用的全局变量和最重要的一件事初始化全局API也就是initGlobalAPI干的活。
细心的同学会发现这里有个街知巷闻的三个字符 Vue ,没错它就是主角=>Vue。
它从哪里来,要到哪里去。(敲黑板讲重点)
src/core/index.js文件中,往上看第一行代码,诺,它就在那里。
在讲instance之前先插播条广告:
Vue 的模块划分形式
Vue 通过不断的添加属性在Vue这个函数的prototype上,JavaScript中函数是一等公民,至于想知道一些相关的更深的东西,可以了解下JavaScript的原型继承以及原型链查找的相关知识,后续如果有机会再开一个文章来讲这方面的知识,虽然我也不知道会不会有机会(手动奸笑)
接下来的话就是instance中的代码,也是接下去的重点:
来吧,我们开始撸码的旅途吧。
首先,开个项目,至于新起项目的各种姿势,就任君选择了。
我就先用webpack简单先搭个项目跑跑看...
本文的GitHub 地址在 -------biu biu 时光门------ 这个repo 会在后续的文章中持续更新。欢迎吐槽本人技术,也欢迎有一起学习的伙伴来交流。接受一切反驳和建议。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。